<template>
	<view class="themeItem">
		<navigator :url='"/pages/classlist/classlist?id="+item._id+"&name="+item.name' class="box" v-if="!isMore">
			<image class="pic" :src="item.picurl" mode="aspectFill"></image>
			<view class="mask">
				{{item.name}}
			</view>
			<view class="tab" v-if="compareTimestamp(item.updateTime)">
				{{compareTimestamp(item.updateTime)}}前更新
			</view>
		</navigator>

		<navigator url="/pages/classify/classify" open-type="reLaunch" class="box more" v-if="isMore">
			<image class="pic" src="../../commom/images/more.jpg" mode="aspectFill"></image>
			<view class="mask">
				<uni-icons type="more-filled" size="34" color="#fff"></uni-icons>
				<text class="text">更多</text>
			</view>

		</navigator>
	</view>
</template>

<script setup>
	import {
		compareTimestamp
	} from '@/utils/common.js'
	//父传子 让父组件给子组件传递参数
	defineProps({
		isMore: {
			type: Boolean,
			default: false
		},
		item: {
			type: Object,
			//接收一个对象 的写法
			default () {
				return {
					name: "默认名称",
					picurl: "../../commom/images/classify1.jpg",
					updateTime: Date.now() - 1000 * 60 * 60 * 5
				}
			}
		}
	})
</script>

<style lang="scss" scoped>
	.themeItem {
		.box {
			height: 340rpx;
			/*给父级加圆角 后面还要添加定位层遮盖 直接给图片加不好*/
			border-radius: 10rpx;
			/*overflow Hidden实现图片变成圆角*/
			overflow: hidden;
			position: relative;

			.pic {
				width: 100%;
				height: 100%;
			}


			.mask {
				width: 100%;
				height: 70rpx;
				position: absolute;
				bottom: 0;
				left: 0;
				background: rgba(0, 0, 0, 0.2); //第四个参数是透明度
				color: #fff;
				display: flex;
				align-items: center;
				justify-content: center;
				/*磨砂半透明效果 参数越大越模糊*/
				backdrop-filter: blur(20rpx);
				font-weight: 600;
				font-size: 30rpx;
			}

			.tab {

				position: absolute;
				left: 0;
				top: 0;
				background: rgba(250, 129, 90, 0.7);
				backdrop-filter: blur(20rpx);
				color: #fff;
				font-size: 22rpx;
				padding: 6rpx 14rpx;
				border-radius: 0 0 20rpx 0;
				/*要想字体再小一点 --> 网页显示最小像素是12px*/
				/*只有进行scale缩放 但是需要再更改一下缩放中心*/
				transform: scale(0.8);
				transform-origin: left top;
			}

		}

		.box.more {

			.mask {
				width: 100%;
				height: 100%;
				flex-direction: column;
			}

			.text {
				font-size: 28rpx;
			}
		}
	}
</style>